/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Interface;

import java.util.List;
import nivelNegocio.NegociosException;
import nivelPersistencia.PersistenciaException;
import objetosNegocio.Arrendador;
import objetosNegocio.MetodoPago;
import objetosNegocio.Residente;

/**
 *
 * @author Christian
 */
public interface iControlNegocios {

    public void agregarResidente(Residente residente) throws NegociosException;

    public void actualizarResidente(Residente residente) throws NegociosException;

    public void eliminarResidente(Residente residente) throws NegociosException;

    public Residente obtenResidente(Residente residente) throws NegociosException;

    public List<Residente> listaResidentes() throws NegociosException;
    
    public void agregarHorario(Residente r, String rutaHorario) throws NegociosException;
    
    public String obtenHorario(Residente r) throws NegociosException;
    
    public void agregarPerfil(Residente r, String rutaFoto) throws NegociosException;
    
    public String obtenPerfil(Residente r) throws NegociosException;

    public int agregarArrendador(Arrendador arrendador) throws NegociosException;
    
    public void actualizarArrendador(Arrendador arrendador) throws NegociosException;

    public void eliminarArrendador(Arrendador arrendador) throws NegociosException;

    public Arrendador obtenArrendador(Arrendador arrendador) throws NegociosException;

    public List<Arrendador> listaArrendadores() throws NegociosException;

    public int agregarMetodoPagoResidente(MetodoPago m) throws NegociosException;

    public List<String> listaMetodosPago() throws NegociosException;
    
    public void eliminarMetodoPagoResidente(Residente r) throws NegociosException;
    
    public MetodoPago obtenerMetodoPago(Residente residente) throws NegociosException;
    
    public String nombreTipoMetodoPago(Residente residente) throws NegociosException;

    public List<String> listaPaises() throws NegociosException;
    
    public int obtenerIdPais(String name) throws NegociosException;
    
    public String obtenerPais(int id) throws NegociosException;

    public List<String> listaEstados(int pais) throws NegociosException;
    
    public int obtenerIdEstado(String name) throws NegociosException;
    
    public String obtenerNombreEstado(int id) throws NegociosException;

    public List<String> listaCiudades(int estado) throws NegociosException;
    
    public int obtenerIdCiudad(String name) throws NegociosException;
    
    public String obtenerNombreCiudad(int id) throws NegociosException;

    public List<String> listaProfesiones() throws NegociosException;
    
    public int obtenerIdProfesion(String name) throws NegociosException;
    
    public String obtenerNombreProfesion(int index) throws NegociosException;
}
